100 DIMM$(12),Z$(12):FORI=1TO12:READM$(I):NEXTI:N=0:POKE53281,1 110 PRINTCHR$(147);:GOTO930 120 REM * VERSATILE MORTGAGE CALCULATOR * 130 REM * BY JIM BUTTERFIELD * 140 REM * TPUG MAGAZINE. MARCH 1985 * 150 REM * MODIFIED BY GERRY PENROSE * 160 REM * MAY 1985 * 170 REM * N$=" NAME ":I1=RATE:A1=AMNT :Y=NO PYMTS:Z$=" MONTH ":Y3= YEAR 180 REM * LINES 170 AND 190(null)CAN BE USED TO PERMANENTLY PLACE DATA * 190 REM * P1=427:N1=12 * 200 PRINT"[147]" 210 N1=12:Z$=Z$:Y=12:GOSUB870 220 PRINT"[145][205]ORTGAGE: ";N$ 230 REM: PRINT"[193]NNUAL RATE (%):";I1 240 I=(1+I1/200)^(1/6)-1:REM CANADIAN CALCULATION 250 A=INT(A1*100+.5) 260 PRINT"[193]MOUNT AT START:";A1;"[157] - ";"@";I1;"%" 270 PRINT"[206]UMBER OF PAYMENTS:"Y 280 PRINT"[205]ONTH OF FIRST PAYMENT: (JAN)";Z$;:IFLEN(Z$)<3THENSTOP 290 FORJ=1TO1:NEXTJ:PRINTY3 300 P=INT(P1*100+.5) 310 PRINT"[158][208] TO [208]RINT. [211] TO [211]TOP. [211]PACE TO [196]ISPLAY "; 320 PRINT"[146][154]"; 330 GETG$:IFG$=""GOTO330 340 IFASC(G$)=83THENEND 350 P9=0:IFASC(G$)=80THENP9=4:OPEN4,P9:Q$=CHR$(17):PRINT#4,Q$;"";N$ 360 PRINT" [194]ALANCE="A/100;"@"I1;"% ";Z$;Y3;" " 370 IFP9THENPRINT#4:PRINT#4,Q$"[194]ALANCE= ";A/100;" @ ";I1;"% ";M$;Y3 380 I3=0:P3=0 390 PRINT"[145] [205]TH [201]NTEREST [208]AYMENT [194]ALANCE" 400 PRINT"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]" 410 PRINT"[145]";:IFP9THENPRINT#4 420 IFP9THENPRINT#4,Q$;"[205]TH [201]NTEREST [208]AYMENT [194]ALANCE" 430 IFP9THENPRINT#4 440 REM ****************************** 450 I2=INT(I*A+.5):IFP>A+I2THENP=A+I2 460 I3=I3+I2:P3=P3+P:A=A+I2-P 470 M$=CHR$(ASC(M$(N))+128)+MID$(M$(N),2):PRINTTAB(2)M$; 480 IFP9THENPRINT#4,Q$;TAB(4)M$;" "; 490 X=I2:GOSUB720:IFP9THENPRINT#4," "; 500 X=P:GOSUB720:IFP9THENPRINT#4," "; 510 X=A:GOSUB710:PRINT:IFP9THENPRINT#4 520 N1=N1-1:IFN1=0THENGOTO580:P=INT(P1*100+.5) 530 Y=Y-1:N=N+1 540 IFN<13ANDY>0ANDA>0GOTO450 550 REM ******************************* 560 IFY=0ORA<=0GOTO580 570 Y3=Y3+1:N=1:GOTO450 580 PRINT:PRINT:IFP9THENPRINT#4:PRINT#4 590 PRINTTAB(2)"TOT INT. ";"TO DATE"; 600 IFP9THENPRINT#4,Q$;TAB(2)"[212]OTAL [201]NT. TO DATE "; 610 Z=I3+Z:GOSUB640:IFP9THENPRINT#4 620 IFP9THENPRINT#4:GOTO700 630 GOTO700 640 L=8 650 A$=RIGHT$(S$+STR$(INT(Z)),L) 660 IFZ=0THENA$=RIGHT$(S$+"00",L) 670 Y$=LEFT$(A$,LEN(A$)-2)+"."+RIGHT$(A$,2) 680 PRINTTAB(3)Y$;" ";:IFP9THENPRINT#4,Y$; 690 RETURN 700 CLOSE4:GOTO 780 710 L=10:GOTO730 720 L=8 730 A$=RIGHT$(S$+STR$(INT(X)),L) 740 IFX=0THENA$=RIGHT$(S$+"00",L) 750 X$=LEFT$(A$,LEN(A$)-2)+"."+RIGHT$(A$,2) 760 PRINTX$;" ";:IFP9THENPRINT#4,X$; 770 RETURN 780 POKE646,0:PRINT"[159][212]O [193]DD [208]AYMENTS [208]RESS [193].- [195] TO CONTINUE [146] " 790 PRINT"[154]" 800 GETA$:IFA$=""THEN800 810 IFA$="A"THENPRINTCHR$(147):INPUT"[201]NPUT AMMOUNT TO ADD ";B 820 A1=X/100-B:Z$=Z$ 830 CLOSE4:GOTO200 840 IFA$="C"THENCLOSE4:N1=12:Z$=Z$:Y=12:GOTO200 850 DATA JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC 860 END 870 M=127:M1=ASC(Z$)ANDM:M2=ASC(MID$(Z$,2))ANDM:M3=ASC(MID$(Z$,3))ANDM 880 Z$=CHR$(M1)+CHR$(M2)+CHR$(M3) 890 FORJ=1TO12:IFZ$=M$(J)GOTO910 900 NEXTJ 910 N=J 920 RETURN 930 GOSUB1040 940 INPUT"NAME";N$ 950 INPUT"RATE";I1 960 INPUT"AMOUNT";A1 970 INPUT"NO OF PAYMENTS";Y 980 INPUT"STARTING MONTH";Z$ 990 INPUT"STARTING YEAR";Y3 1000 INPUT"MONTHLY PAYMENT";P1 1010 INPUT"NO PERIODS BEFORE REDUCING";N1 1020 PRINT"": 1030 Z$=Z$:N1=12:Y=12:GOTO200 1040 POKE214,12:PRINT 1050 POKE211,10:PRINT"[158]PLEASE READ THIS" 1060 PRINT:PRINT"[158]NUMBER OF PAYMENTS SHOULD ALWAYS BE 12" 1070 PRINT:PRINT"[158]NUMBER OF PERIODS SHOULD ALSO BE 12 " 1080 PRINT:PRINT"[158]SO THAT CAPITAL CAN BE ADDED ONCE EVERY" 1090 PRINT:PRINT"[158]YEAR. THESE ARE LEFT OPEN FOR EXPERIMENT." 1100 PRINT"[154]":RETURN